An electronic document (ED) may include any number of text streams and any number of graphical objects (i.e., clipart, photographs, drawings, etc.). The ED may also include anchors for positioning the one or more graphical objects. Specifically, each anchor corresponds to a graphical object and each anchor dictates the position (i.e., displacement) of its graphical object relative to itself. Anchors may be specified before, after, or within text streams, and like text characters, anchors are positioned on a page during a rendering of the ED. However, unlike text characters, anchors are generally not visible to the reader of the ED and text and/or graphics may be placed on top of the anchor. Once an anchor is placed on the page, the position of the anchor's graphical object can be calculated based on the displacement specified by the anchor. It is the responsibility of a layout engine on a Page Rendering Device (PRD) or user machine to layout the text streams, anchors, and graphical objects on the page as specified by the ED.
In general, a page is rendered serially. Accordingly, when an anchor is positioned and the anchor specifies a positive displacement, the calculated position of the corresponding graphical object is located on a part of the page which is still blank. However, when an anchor is positioned and the anchor specifies a negative displacement, the calculated position of the corresponding graphical object is often located on a part of the page which is already occupied (e.g., by text or other graphical objects) and an overlap situation exists. Despite the extra processing that results from overlap situations, users still like creating EDs having anchors specifying negative displacements.